package com.meilai.project.controller.web.market.dto;

import com.meilai.project.controller.web.market.entity.BillMarketShootRequirement;
import com.meilai.project.dto.workflow.WorkFlowExtraSubmitDTO;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

/**
 * @author xchen
 * @since 2022-01-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel
public class BillMarketDTO extends WorkFlowExtraSubmitDTO {

    @ApiModelProperty(value = "分公司ID")
    private Long dept_id;

    @ApiModelProperty(value = "客户ID（项目ID）")
    private Long customer_id;

    @ApiModelProperty(value = "合同id")
    private Long contract_id;

    @ApiModelProperty(value = "销售单id")
    private Long bill_sale_id;

    @ApiModelProperty(value = "是否需要小样，0:不需要,1:需要")
    private Boolean need_sample;

    @ApiModelProperty(value = "最晚上刊日期")
    private LocalDate latest_up_date;

    @ApiModelProperty(value = "1:上午,2:下午")
    private Integer latest_up_time;

    @ApiModelProperty(value = "最晚下刊日期")
    private LocalDate latest_down_date;

    @ApiModelProperty(value = "1:上午,2:下午")
    private Integer latest_down_time;

    @ApiModelProperty(value = "是否第一次上画，0:否，1:是")
    private Boolean first_time;

    @ApiModelProperty(value = "是否有新画面，0:否，1:是")
    private Boolean has_new_pic;

    @ApiModelProperty(value = "是否显示代理资源标识，0:否，1:是")
    private Boolean show_proxy_flag;

    @ApiModelProperty(value = "画面是否回收")
    private Boolean pic_need_recycle;

    @ApiModelProperty(value = "设计人员id")
    private Long design_user_id;

    @ApiModelProperty(value = "备注")
    private String memo;

    @ApiModelProperty("1：普通类型 2：换画类型")
    private Integer type = 1;

    @ApiModelProperty(value = "mediaType对应的拍摄要求,全部传-1")
    private Map<Long, List<BillMarketShootRequirement>> mediaType2RequireList;

//    @ApiModelProperty("锁位集合")
//    private List<BillMarketPlan> billMarketPlans;
}
